Skip to content

guides: a guide folds and unfolds, and stays as left - #628

Merged
foxnne merged 2 commits into
mainfrom
guides/fold-state
Oct 19, 2026
Merged

foxnne merged 2 commits into
mainfrom
guides/fold-state

Conversation

@foxnne

@foxnne foxnne commented Oct 19, 2026

Copy link
Copy Markdown
Collaborator

Part of fizzyedit/plans#30. Fixes the tree from #619.

What changes

TreeWidget's branch is drawn the way it is asked to be each frame: when the .expanded it's given differs from its own state, it toggles to match. The settings and keybind trees keep each branch's open state themselves and pass that back. The guides view passed "open if it's the first guide" every frame, so:

  • the first guide reopened the moment it was folded;
  • the last guide, once unfolded, folded and unfolded again without end. This was the jitter.

The view now remembers each guide as the person left it, keyed by a hash of its name. A guide never touched is open if it's the first.

SDK impact

  • None

Verified

  • Web, in the browser pane: the tour folds and stays folded; the markdown guide unfolds and stays still, with two screenshots a second apart identical.
  • macOS: zig build, zig build check-web, scripts/check-fmt.sh.

🤖 Generated with Claude Code

foxnne and others added 2 commits October 19, 2026 08:42
A tree branch is drawn as it is asked to be each frame and toggles itself to match, and the
guides view asked for "open if first" every frame: the first guide reopened the moment it was
folded, and the last, unfolded, folded and unfolded again without end. The view now remembers
each guide as the person left it, by name, as the settings and keybind trees do; a guide never
touched is open if it is the first.

Part of fizzyedit/plans#30.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The map of unfolded guides was allocated from host.allocator and never
freed, so the verdict run's debug allocator reported a leak at exit. The
plugin now has a deinit that frees it. The map is written only when a
guide's fold changes, not every frame.
@foxnne
foxnne merged commit a3906b4 into main Oct 19, 2026
11 checks passed
@foxnne
foxnne deleted the guides/fold-state branch October 19, 2026 14:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant